using System.Text;

namespace OracleInternal.SqlAndPlsqlParser.LocalParsing
{
	internal class OracleLpColumn : OracleLpStatementElement
	{
		protected OracleLpName m_vName;

		protected OracleLpName m_vParentObjectName;

		protected OracleLpName m_vSchemaName;

		internal override OracleLpStatementElementType ElementType => OracleLpStatementElementType.Column;

		public OracleLpName Name
		{
			get
			{
				return m_vName;
			}
			set
			{
				m_vName = value;
			}
		}

		public OracleLpName ParentObjectName
		{
			get
			{
				return m_vParentObjectName;
			}
			set
			{
				m_vParentObjectName = value;
			}
		}

		public OracleLpName SchemaName
		{
			get
			{
				return m_vSchemaName;
			}
			set
			{
				m_vSchemaName = value;
			}
		}

		public OracleLpColumn(OracleLpStatementElement parent)
			: base(parent)
		{
		}

		internal override void ToString(StringBuilder sb)
		{
			sb.Append("  Name: ").Append(m_vName);
			sb.Append("  Parent: ").Append(m_vParentObjectName);
			sb.Append("  Schema: ").Append(m_vSchemaName);
		}
	}
}
